package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 佣金发放总记录
 */
@ApiModel(value = "com-lanchetech-entity-CommissionRecord")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CommissionRecord implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 订单明细id
     */
    @ApiModelProperty(value = "订单明细id")
    private Long orderSkuId;

    /**
     * 消费用户id
     */
    @ApiModelProperty(value = "消费用户id")
    private Long userId;

    /**
     * 消费用户的上级用户id
     */
    @ApiModelProperty(value = "消费用户的上级用户id")
    private Long superiorId;

    /**
     * VIP用户id
     */
    @ApiModelProperty(value = "VIP用户id")
    private Long v1Id;

    /**
     * 店长用户id
     */
    @ApiModelProperty(value = "店长用户id")
    private Long v2Id;

    /**
     * 城市CEO用户id
     */
    @ApiModelProperty(value = "城市CEO用户id")
    private Long v3Id;

    /**
     * 总经理用户id
     */
    @ApiModelProperty(value = "总经理用户id")
    private Long v4Id;

    /**
     * 董事长用户id
     */
    @ApiModelProperty(value = "董事长用户id")
    private Long v5Id;

    /**
     * 商品SPU id
     */
    @ApiModelProperty(value = "商品SPU id")
    private Long spuId;

    /**
     * 商品SKU id
     */
    @ApiModelProperty(value = "商品SKU id")
    private Long skuId;

    /**
     * 分享奖励
     */
    @ApiModelProperty(value = "分享奖励")
    private BigDecimal shareCommission;

    /**
     * 平台佣金
     */
    @ApiModelProperty(value = "平台佣金")
    private BigDecimal platformCommission;

    /**
     * VIP佣金
     */
    @ApiModelProperty(value = "VIP佣金")
    private BigDecimal v1Commission;

    /**
     * 店长佣金
     */
    @ApiModelProperty(value = "店长佣金")
    private BigDecimal v2Commission;

    /**
     * 城市CEO佣金
     */
    @ApiModelProperty(value = "城市CEO佣金")
    private BigDecimal v3Commission;

    /**
     * 总经理佣金
     */
    @ApiModelProperty(value = "总经理佣金")
    private BigDecimal v4Commission;

    /**
     * 董事长佣金
     */
    @ApiModelProperty(value = "董事长佣金")
    private BigDecimal v5Commission;

    /**
     * 店长补贴佣金
     */
    @ApiModelProperty(value = "店长补贴佣金")
    private BigDecimal v2CommissionPlus;

    /**
     * 佣金总和
     */
    @ApiModelProperty(value = "佣金总和")
    private BigDecimal amount;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 佣金发放状态 0 已扣除 1 已发放
     */
    @ApiModelProperty(value = "佣金发放状态 0 已扣除 1 已发放")
    private Byte status;

    /**
     * 佣金冻结结束时间
     */
    @ApiModelProperty(value = "佣金冻结结束时间")
    private Date freezeTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    private static final long serialVersionUID = 1L;

    public static CommissionRecordBuilder builder() {
        return new CommissionRecordBuilder();
    }
}